#include <stdio.h>

int f()
{
	int a = 0x55;
	return a;
}

int main()
{
	int a = 1;

	a = f();
	printf("0x%x\n", a);	// 0x55
	return 0;
}

#if 0
/*
 * intel
 */
0000000000001149 <f>:
    1149:	f3 0f 1e fa          	endbr64 
    114d:	55                   	push   %rbp
    114e:	48 89 e5             	mov    %rsp,%rbp
    1151:	c7 45 fc 55 00 00 00 	movl   $0x55,-0x4(%rbp)
    1158:	8b 45 fc             	mov    -0x4(%rbp),%eax
    115b:	5d                   	pop    %rbp
    115c:	c3                   	retq   

000000000000115d <main>:
    115d:	f3 0f 1e fa          	endbr64 
    1161:	55                   	push   %rbp
    1162:	48 89 e5             	mov    %rsp,%rbp
    1165:	48 83 ec 10          	sub    $0x10,%rsp
    1169:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%rbp)
    1170:	b8 00 00 00 00       	mov    $0x0,%eax
    1175:	e8 cf ff ff ff       	callq  1149 <f>
    117a:	89 45 fc             	mov    %eax,-0x4(%rbp)
    117d:	8b 45 fc             	mov    -0x4(%rbp),%eax
    1180:	89 c6                	mov    %eax,%esi
    1182:	48 8d 3d 7b 0e 00 00 	lea    0xe7b(%rip),%rdi        # 2004 <_IO_stdin_used+0x4>
    1189:	b8 00 00 00 00       	mov    $0x0,%eax
    118e:	e8 bd fe ff ff       	callq  1050 <printf@plt>
    1193:	b8 00 00 00 00       	mov    $0x0,%eax
    1198:	c9                   	leaveq 
    1199:	c3                   	retq   
    119a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

/*
 * arm
 */
000000000040055c <f>:
  40055c:	d10043ff 	sub	sp, sp, #0x10
  400560:	52800aa0 	mov	w0, #0x55                  	// #85
  400564:	b9000fe0 	str	w0, [sp, #12]
  400568:	b9400fe0 	ldr	w0, [sp, #12]
  40056c:	910043ff 	add	sp, sp, #0x10
  400570:	d65f03c0 	ret

0000000000400574 <main>:
  400574:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  400578:	910003fd 	mov	x29, sp
  40057c:	52800020 	mov	w0, #0x1                   	// #1
  400580:	b9001fa0 	str	w0, [x29, #28]
  400584:	97fffff6 	bl	40055c <f>
  400588:	b9001fa0 	str	w0, [x29, #28]
  40058c:	90000000 	adrp	x0, 400000 <_init-0x3e8>
  400590:	91196000 	add	x0, x0, #0x658
  400594:	b9401fa1 	ldr	w1, [x29, #28]
  400598:	97ffffae 	bl	400450 <printf@plt>
  40059c:	52800000 	mov	w0, #0x0                   	// #0
  4005a0:	a8c27bfd 	ldp	x29, x30, [sp], #32
  4005a4:	d65f03c0 	ret

#endif

